package clause

type Where struct {
	Conditions []Expr
	boolean    string // and/or
}

func (c *Where) BuilderSql(builder *Builder) {
}

// =
func (c *Where) WhereEq() {

}

// in
func (c *Where) WhereIn() {

}

// >
func (c *Where) WhereGt() {

}

// >=
func (c *Where) WhereGte() {

}

// And 条件查询
// select * from c_uer where aa=12 and ab=12
// gsql.Select().Form("c_user").Where(sql.Eq{"aa", 12}, sql.Eq{"ab": 12})

// Or 条件查询
// select * from c_uer where aa=12 or ab=12
// gsql.Select().Form("c_user").Where(sql.Or{
// 	sql.EQ{"ab", 1},
// 	sql.EQ{"ac", 12},
// })

// 子查询
// select * from c_user where aa=12 and id in( select id from job where job_id in (12,13) )
// gsql.Select().Form().Where(
// 	sql.Eq{"aa, 12"},
// 	sql.Expr{"id IN(?)", gsql.Select("uid").Form("job").Where(gsql.In{"job_id": []int{12, 13}})},
// )

// 可编程
// gsql.Select().Form().WhereFun((query) {
// 	if true {
// 		query.WhereEQ("ab", 12)
// 	}

// 	if ?? {
// 		query.WhereEQ("ab", 12)
// 	}

// 	if ?? {
// 		// query.Where(gsql.Or{
// 		// 	gsql.EQ{aa: 12},
// 		// 	gsql.EB{ab: 13}
// 		// })

// 		query.WhereOr(
// 			gsql.EQ{},
// 			gsql.EQ{}
// 		)
// 	}
// })
